package algorithm.arithmetic.找连续子序列;

/**
 * @author xinchen by 2016/11/28
 * @version 1.0
 */
public class Solution {
    // 假如给你一个长度为n(其中n≤106)的序列A，
    // 请你在这个序列中找出一个尽量长的连续子序列Am~An，要求该序列中不包含相同的元素。
    public static void main(String[] args) {
        int[] N = new int[args.length];
        for (int i = 0; i < N.length; i++) {
            N[i] = Integer.parseInt(args[i]);
        }
        int[] N1 = new int[N.length];
        for (int i = 1; i < N.length; i++) {
            if (N[i] - N[i - 1] == 1) {
                N1[i] = N1[i - 1] + 1;
            } else {
                N1[i] = 0;
            }
        }
        int max = -1;
        int maxIndex = -1;
        for (int i = 0; i < N1.length; i++) {
            if (N1[i] > max) {
                max = N1[i];
                maxIndex = i;
            }
        }
        for (int i = maxIndex - max; i <= maxIndex; i++) {
            System.out.print(N[i]);
            if (i != maxIndex) {
                System.out.print(' ');
            } else {
                System.out.println();
            }
        }
    }
}
